package OfferLanQiaoBei.a_12届蓝桥真题;

import java.util.Scanner;

/*
你有一架天平。现在你要设计一套砝码，使得利用这些砝码可以称出任意
小于等于N的正整数重量。
那么这套砝码最少需要包含多少个砝码?
注意砝码可以放在天平两边。

【输入格式】
输入一个整数 N。
【输出格式】
输出一个整数代表答案。
【样例输入】
7
【样例输出】
3
【样例说明】
3个砝码重量是1、4、6，可以称出1至7的所有重量。
1 = 1；
2 = 6 - 4（天平一边放6，另一边放4）；
3 = 4 - 1；
4 = 4；
5 = 6 - 1；
6 = 6；
7 = 1 + 6；
少于3个砝码不可能称出1至7的所有重量。
 */
public class g最少砝码 {
	public static void main(String[] args) {
		g最少砝码 test = new g最少砝码();
		test.useOtherDeal();
		test.useOtherDeal2();
	}
	
	/**
	 * 在左右两边都可以放砝码的情况下
	 * 求最少砝码
	 * 平衡三进制
	 */
	public void useOtherDeal() {
		Scanner scanner = new Scanner(System.in);
		long N = scanner.nextLong();
		int res = 0;
		while (N > 0) {
			N -= Math.pow(3, res);
			res++;
		}
		System.out.println(res);
	}
	
	/**
	 * 只有右边可以放砝码的情况下
	 * 求最少砝码
	 * 平衡二进制
	 */
	public void useOtherDeal2() {
		Scanner scanner = new Scanner(System.in);
		long N = scanner.nextLong();
		int res = 0;
		while (N > 0) {
			N -= Math.pow(2, res);
			res++;
		}
		System.out.println(res);
	}
}
